<?php
	require_once '../Generique/header_complet.php';
    $bdd = ouvrirBase();
    
?>


<script type="text/javascript">

// a_faire = '0' pour tout d&eacute;cocher
// a_faire = '1' pour tout cocher
// a_faire = '2' pour inverser la s&eacute;lection

function GereChkbox(conteneur, a_faire) {
var blnEtat=null;
var Chckbox = document.getElementById(conteneur).firstChild;
	while (Chckbox!=null) {
		if (Chckbox.nodeName=="INPUT")
			if (Chckbox.getAttribute("type")=="checkbox") {
				blnEtat = (a_faire=='0') ? false : (a_faire=='1') ? true : (document.getElementById(Chckbox.getAttribute("id")).checked) ? false : true;
				document.getElementById(Chckbox.getAttribute("id")).checked=blnEtat;
			}
		Chckbox = Chckbox.nextSibling;
	}
}
//-->
</script>


<?php


if(isset($_SESSION['statut'], $_SESSION['nom']) && ($_SESSION['statut'] == "moderateur" 
	|| $_SESSION['statut'] == "administrateur" ) )
{    


	echo '<h2>D&eacute;mission</h2>';

    require_once("../Codes/fonctionsSGBD.php");
    $bdd = ouvrirBase();
	
	if(verifier_token(3600, 'Pages/management.php', 'operations_management', 'tokenManagement') ||
		verifier_token(3600, 'Pages/demissionMode.php', 'operations_management', 'tokenManagement'))
	{
		$token = generer_token('operations_management');
		$req;
		//Si l'utilisateur est un administrateur
		if ($_SESSION['statut'] == "administrateur"){
		
			if(isset($_POST['Oui']))
			{
				$req = $bdd->prepare('SELECT COUNT(*) FROM dil_comptes WHERE statut = "administrateur"');
				$req->execute();
				$result = $req->fetch();
			
				if($result['COUNT(*)']==1){
					echo '<p> Le compte '.$_SESSION['nom'].' ne peut pas &ecirc;tre supprim&eacute;<br /> Ce compte est le dernier compte administrateur</p>';
					echo	'<br /><a href = "management.php"> Retour &agrave; la page de management</a><br />';
				}
				else{
					//Change le statut en &eacute;crivain
					$req = $bdd->prepare('UPDATE dil_comptes SET statut = "ecrivain" WHERE pseudo = :nom');
					$req->bindValue('nom',$_SESSION['nom'], PDO::PARAM_STR);
					$req->execute();
				}
				echo	'<br /><a href = "accueil.php"> Retour &agrave; l\'accueil</a><br />';
			}
			else if (isset($_POST['Non'])){
				header("Location: ../Pages/management.php");
			}
			else
			{		// formulaire pour choisir le nouveau mod&eacute;rateur
			?>
				<form name="nouveauMode" method="post" action= "../Pages/management.php">
				<p>Etes vous sur de vouloir quitter votre poste?
					<input type="submit" value="Oui" name="Oui" />
					<input type="submit" value="Non" name="Non" />
					<input type = "hidden" name = "demissionMode"/>
					<?php 
						echo '<input type = "hidden" value="'.$token.'" name="tokenManagement" />
						';		
					?>
				</p>	

			
			<?php
			}
	//		header("Location: ../Pages/accueil.php");
		}
		//Si l'utilisateur est un moderateur
		else if ($_SESSION['statut'] == "moderateur")
		{
		   if(isset($_POST['Valider']))
		   {
				$req = $bdd->prepare('SELECT univers
									FROM dil_moderation 
									WHERE moderateur = :pseudo'
								   ); 
				$req->bindValue('pseudo',$_SESSION['nom'], PDO::PARAM_STR);
				$req->execute();
				$test = $req;
				//On supprime les univers selectionn&eacute;s de la table mod&eacute;ration
				while ($donnees = $test->fetch())
				{
					// les espaces sont remplac�s par "_" dans le post.
					$nomUnivers = preg_replace('# #', '_', $donnees['univers']);
					if (isset($_POST[$nomUnivers]))
					{
						$req = $bdd->prepare('DELETE FROM dil_moderation WHERE moderateur = :nom AND univers = :univers');
						$req->bindValue('nom',$_SESSION['nom'], PDO::PARAM_STR);
						$req->bindValue('univers',$donnees['univers'], PDO::PARAM_STR);
						$req->execute();
					}
				}
				
				//Si e mod&eacute;rateur n'est plus en charge d'aucun univers, il devient un simple aventurier
				$req = $bdd->prepare('SELECT COUNT(*) FROM dil_moderation WHERE moderateur = :pseudo'); 
				$req->bindValue('pseudo',$_SESSION['nom'], PDO::PARAM_STR);
				$req->execute();
				$somme = $req->fetch();
				echo "<br />Les Univers selectionn&eacute;s ont &eacute;t&eacute; retir&eacute;s de v&ocirc;tre contr&ocirc;le<br />";
				if ($somme['COUNT(*)'] == 0)
				{
					$req = $bdd->prepare('UPDATE dil_comptes SET statut = "ecrivain" WHERE pseudo = :nom');
					$req->bindValue('nom',$_SESSION['nom'], PDO::PARAM_STR);
					$req->execute();
					$_SESSION['statut']='ecrivain';
					echo "<br />Vous n'avez plus d'Univers &agrave; v&ocirc;tre charge.<br /><br />Vous &ecirc;tes donc devenu un simple aventurier<br />";
				}
				else
					echo	'<br /><br /><a href = "management.php"> Retour &agrave; la page de management</a><br />';
				echo	'<br /><a href = "accueil.php"> Retour &agrave; l\'accueil</a><br />';
				
		   }
		   else{
				//On cr&eacute;e un gestionnaire de pages pour afficher les informations souhait&eacute;es
				$nbUniversParPages = 10;

			   $nbTitre = $bdd->prepare('SELECT COUNT(*) FROM dil_moderation WHERE  moderateur = :pseudo');
			   $nbTitre->bindValue('pseudo',$_SESSION['nom'], PDO::PARAM_STR);
			   $nbTitre->execute();
			   $titre = $nbTitre->fetch();
			   $titre = $titre['COUNT(*)'];
			   $i = 1;
			   $menuPage;
			   
			   ?>
					
				<form name="nouveauMode" method="post" action="">
					<p>De quels univers souhaitez-vous ne plus &ecirc;tre le mod&eacute;rateur?<br /><br />
					<input type = "hidden" name = "demissionMode"/>
					<input type="button" value="Tout cocher" onClick="GereChkbox('univers','1');">&nbsp;&nbsp;&nbsp;
					<input type="button" value="Tout d&eacute;cocher" onClick="GereChkbox('univers','0');">&nbsp;&nbsp;&nbsp;
					<input type="button" value="Inverser la s&eacute;lection" onClick="GereChkbox('univers','2');">
					<?php 
					$token = generer_token('operations_management');
						echo '<input type = "hidden" value="'.$token.'" name="tokenManagement" />
						';		
					?>
					<br /><br />
					<div id="univers">
										
					<?php
			   if (floor(($titre-1)/$nbUniversParPages )> 0){
					$menuPage = "Pages  ";
			   
				   $page=1;
				   if(isset($_GET['page']) && is_numeric($_GET['page'])){
						$page = $_GET['page'];
						if($page  < 1 || $page > ceil($titre/$nbUniversParPages))
							$page=1;
							
					}
				   while (floor(($titre-1) / $nbUniversParPages)>= $i)
					{
						if($page == $i)
							$menuPage .= "$i | ";
						else
							$menuPage .= '<a href = "demissionMode.php?page='.$i.'">'.$i.'</a> | ';
						$i += 1;
					}
					if($page == $i)
						$menuPage .= "$i<br /><br />";
					else 
						$menuPage .= '<a href = "demissionMode.php?page='.$i.'">'.$i.'</a><br /><br />';
					
					 //On affiche la barre de gestion des pages
					echo $menuPage;
					
					
					$req = $bdd->prepare('SELECT univers
											FROM dil_moderation 
											WHERE moderateur = :pseudo 
											 LIMIT :debut, :fin');   
					
					$req->bindValue('debut',(($page-1)*$nbUniversParPages), PDO::PARAM_STR);
					//On r&eacute;cup�re les informations que l'on souhaite afficher sur la page actuelle
					if ($page == floor(($titre-1)/$nbUniversParPages) + 1){										   
						$req->bindValue('fin', ($titre - ($page-1)*$nbUniversParPages), PDO::PARAM_STR);
					}
				   else{
						$req->bindValue('fin',$nbUniversParPages, PDO::PARAM_STR);
					}
				}
				else
					$req = $bdd->prepare('SELECT univers
											FROM dil_moderation 
											WHERE moderateur = :pseudo'
										   ); 
				$req->bindValue('pseudo',$_SESSION['nom'], PDO::PARAM_STR);
				$req ->execute();
										   
				//On affiche les donn&eacute;es selctionn&eacute;es
				while ($donnees = $req->fetch())
				{
					echo '<input type="checkbox" name="'.$donnees['univers'].'" id="'.$donnees['univers'].'" />
					<label for="'.$donnees['univers'].'">'.$donnees['univers'].'</label><br />';
					
				}
				?>
				
				</div>
				</p>
				<br /><br />
				
				<p>
				<input type="submit" value="Valider" name="Valider" />
				<input type = "hidden" name = "demissionMode"/>
				</p>	
				</form>
				
				<form method="post" action = "../Pages/management.php">
				<p>
					<input type="submit" value="Annuler" name="Annuler" />
				</p>	
				</form>
				
			   
				<?php
				//On affiche la barre de gestion des pages
				if (floor(($titre-1)/$nbUniversParPages )> 0)
				echo $menuPage;
			}
			
	//		header("Location: ../Pages/accueil.php");
		}
	}
	
	
}


?>
<?php include("../Generique/pied.php"); ?>
